package com.dci.dao.pms.project;

import com.dci.model.project.PmsItemInput;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PmsItemInputMapper {
    /**
     * 通过id删除
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(String id);


    /**
     * 通过项目id删除
     *
     * @param id
     * @return
     */
    int deleteByProjectId(String id);

    /**
     * 添加
     *
     * @param record
     * @return
     */
    int insert(PmsItemInput record);

    /**
     * 添加数据
     *
     * @param record
     * @return
     */
    int insertSelective(PmsItemInput record);

    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    PmsItemInput selectByPrimaryKey(String id);

    /**
     * 修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(PmsItemInput record);

    /**
     * 通过id修改
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(PmsItemInput record);

    /**
     * 查询所有
     *
     * @return
     */
    List<PmsItemInput> selectAll();

    /**
     * 通过时间id查询
     *
     * @param record
     * @return
     */
    List<PmsItemInput> selectByTimeAndId(PmsItemInput record);

    /**
     * 通过id 查询
     *
     * @param record
     * @return
     */
    List<PmsItemInput> selectByIdAndItem(PmsItemInput record);

    /**
     * 通过 projectId 查询合同信息
     *
     * @param record
     * @return
     */
    List<PmsItemInput> selectByProjectId(PmsItemInput record);

    /**
     * 查询所有信息
     *
     * @param record
     * @return
     */
    List<PmsItemInput> selectAllProject(PmsItemInput record);

    /**
     * 通过contractId查询信息
     *
     * @param contractId
     * @return
     */
    List<PmsItemInput> selectByContractId(@Param("contractId") String contractId);

    /**
     * 通过projectId查询信息
     *
     * @param projectId
     * @return
     */
    List<PmsItemInput> selectByProId(@Param("projectId") String projectId);

    /**
     * 查询key
     *
     * @return
     */
    List<String> selectColumnKeyResult();

    /**
     * 查询value
     *
     * @return
     */
    List<String> selectColumnValueResult();

    /**
     * excel批量插入
     *
     * @param sql
     * @return
     */
    int insertObjectBatch(String sql);

    List<PmsItemInput> selectByProjectName(String itemName,String projectName);
}
